fix: correct PTE flags for LoongArch64 and correct TLB flush mask for aarch64 #2
fix: correct PTE flags for LoongArch64 and correct TLB flush mask for aarch64 #2Mivik merged 3 commits intoStarry-OS:mainfrom
Conversation
- Add D flag when WRITE flag is set - Remove redundant D flag in new_page and set_flags
- Shift and mask vaddr before TLB invalidation - Maintain same behavior for VMID invalidation
- Fix bitmask for VA invalidation - Update inline comment to clarify shift
|
@mingzi47 First of all, thanks for your contributions! I'm now looking to upstream this fork to the original repository. Would you be open to porting the this PR to https://github.com/arceos-org/page_table_multiarch? If you're unavailable, I'd be happy to help port it. |
|
@AsakuraMizu I might have time to work on this as early as next week. If you want it to be done sooner, I’d really appreciate your help in getting it finished. Thank you! |
I've split the fix for AArch64, but I left the LoongArch part alone because both this PR and #1 use the |
|
This PR aims to fix the issue where, regardless of the https://elixir.bootlin.com/linux/v6.15.3/source/arch/loongarch/include/asm/pgtable.h#L394
I believe there should be no conflict, but you can confirm the author of it. Thanks again for port it. |
LoongArch
After remove
Wflag,page_faultis not triggered when a page is modifiedIn
page_table_multiarch, theDflag is added toset_flagsby default, sopage_faultcannot be triggeredLoongArch Doc
AArch64
This code is taken from the arm documentation
The description of the
X0register D8.17.5.1.Relate
oscomp/arceos#50 (comment)